Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
return -EINVAL;
#if CONFIG_PAGING_LEVELS == 3
- /* 32bit PAE nested paging does not support over 4GB guest due to
+ /*
+ * 32bit PAE nested paging does not support over 4GB guest due to
* hardware translation limit. This limitation is checked by comparing
* gfn with 0xfffffUL.
*/
if ( paging_mode_hap(d) && (gfn > 0xfffffUL) )
+ {
+ if ( !test_and_set_bool(d->arch.hvm_domain.amd_npt_4gb_warning) )
+ dprintk(XENLOG_WARNING, "Dom%d failed to populate memory beyond"
+ " 4GB: remove 'hap' Xen boot parameter.\n",
+ d->domain_id);
return -EINVAL;
+ }
#endif
p2m_lock(d);
/* Pass-through */
struct hvm_iommu hvm_iommu;
+
+#if CONFIG_PAGING_LEVELS == 3
+ bool_t amd_npt_4gb_warning;
+#endif
};
#endif /* __ASM_X86_HVM_DOMAIN_H__ */